Resuming items in their last-used presentation modes

ABSTRACT

Functionality is described herein for presenting representations of the z most recently presented items. The functionality also presents indicators which convey the presentation modes that were last used to present the z items. When the user selects one of the z items, the functionality presents it, as a default, using the last-used presentation mode, as conveyed by the indicator associated with this item. In one particular case, the last-used presentation mode corresponds to a full mode or a snap mode.

BACKGROUND

Known multi-tasking technology increases the ease at which a user maytransition from one application to another. For example, a traditionalpersonal computing device may allow a user to interact with twoapplications via two respective display panels, which the computingdevice presents at the same time. However, multi-tasking technology alsoincreases the overall complexity of information that is presented to theuser at any one time. This complexity can potentially overwhelm a user,negatively affecting his or her user experience. A user, for instance,may have difficulty understanding how to navigate among presentableitems.

SUMMARY

Functionality is described herein for interacting with items, such asgames, music, applications of various types, etc. In one implementation,the functionality operates by presenting representations of the z itemsthat have been most recently presented to a user. The functionalityfurther presents, for at least one such item, an indicator that conveysa presentation mode in which that item was most recently presented tothe user.

According to another illustrative aspect, the functionality furtheroperates by receiving a user's election of one of the representationsassociated with the z items. The functionality then presents an outputassociated with the selected item in the same presentation mode in whichthe selected item was last presented (as reflected by the indicatorassociated with the selected item).

According to another illustrative aspect, the presentation mode for achosen item may correspond to a full mode or a snap mode. In the fullmode, the functionality presents the output of the chosen item in aprimary display region. In the snap mode, the functionality presents theoutput of the chosen item in a secondary display region. The secondarydisplay region may be less prominent than the primary display region,e.g., corresponding to a side display portion of a split-screen outputpresentation.

According to another illustrative aspect, the functionality presents therepresentations of the z items as z respective tiles in a homepagepresentation.

According to another illustrative aspect, the functionality furtherallows a user to select a new presentation mode for a selected item.That new presentation mode may differ from the presentation mode inwhich the selected item was most recently presented. For example, a usermay select the new presentation mode via a context menu or the like. Thecontext menu presents a set of presentation modes which are possible forthe selected item.

According to another illustrative aspect, when the user selects a newitem, the functionality can store information which conveys: (a) anindication that the new item is the most recent item that has beenpresented; and (b) the particular presentation mode in which the newitem has been presented. The functionality may store that information inboth a local data store and a remote data store.

According to another illustrative aspect, the functionality can retrievethe above-specified stored information from the remote data store whenthe user “roams” to a new user device, which does not yet store theinformation in its local store.

The above-summarized functionality confers various benefits to users. Inone non-limiting implementation, for instance, the functionalityfacilitates a user's interaction with a game console, e.g., by allowinga user to conveniently transition among different kinds of items thatmay be presented via the game console.

The above approach can be manifested in various types of systems,devices, components, methods, computer readable storage media, datastructures, graphical user interface presentations, articles ofmanufacture, and so on.

This Summary is provided to introduce a selection of concepts in asimplified form; these concepts are further described below in theDetailed Description. This Summary is not intended to identify keyfeatures or essential features of the claimed subject matter, nor is itintended to be used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a computer system for managing the presentation of items,such as applications of various types.

FIG. 2 shows equipment that can be used to implement the computer systemof FIG. 1, according to one implementation.

FIG. 3 shows one implementation of a presentation management module,which is a component of the computer system of FIG. 1.

FIGS. 4A-4F and 5-9 show illustrative output presentations that can beprovided by the computer system of FIG. 1.

FIGS. 10 and 11 respectively show two most-recently-used (MRU) tiles forconveying information about items that have been recently viewed.

FIGS. 12A, 12B, and 13 show illustrative output presentations that canbe provided by the computer system of FIG. 1, in connection with a snapservice (associated, in turn, with a snap mode).

FIG. 14 shows a procedure which describes one way that the computersystem (of FIG. 1) can present representations of the z mostly recentlyviewed items.

FIG. 15 shows a procedure which describes one way that the computersystem can present the output of a selected item in a presentation modethat matches the most recently used presentation mode for the selecteditem.

FIG. 16 shows a procedure which describes one way that the computersystem can change the presentation mode for a selected item, e.g., sothat it differs from the most recently used presentation mode.

FIG. 17 shows a procedure which describes one way that the computersystem can update stored information regarding the most recently useditems, upon the selection of a new item.

FIG. 18 shows a procedure which describes one way that the computersystem can invoke and utilize the snap service associated with the snapmode (or a service dedicated to some other presentation mode).

FIG. 19 shows a procedure which describes one way that the computersystem can receive information regarding additional snap applicationsvia the snap service.

FIG. 20 shows illustrative computing functionality that can be used toimplement any aspect of the features shown in the foregoing drawings.

The same numbers are used throughout the disclosure and figures toreference like components and features. Series 100 numbers refer tofeatures originally found in FIG. 1, series 200 numbers refer tofeatures originally found in FIG. 2, series 300 numbers refer tofeatures originally found in FIG. 3, and so on.

DETAILED DESCRIPTION

This disclosure is organized as follows. Section A describes anillustrative computer system for managing the presentation of items.Section B sets forth illustrative methods which explain the operation ofthe computer system of Section A. Section C describes illustrativecomputing functionality that can be used to implement any aspect of thefeatures described in Sections A and B.

This application is related to U.S. patent application Ser. No.14/154,037, entitled “Identifying and Launching Items Associated with aParticular Presentation Mode,” and naming the inventors of John E.Churchill, et al. That application is incorporated here by reference.

As a preliminary matter, some of the figures describe concepts in thecontext of one or more structural components, variously referred to asfunctionality, modules, features, elements, etc. The various componentsshown in the figures can be implemented in any manner by any physicaland tangible mechanisms, for instance, by software running on computerequipment, hardware (e.g., chip-implemented logic functionality), etc.,and/or any combination thereof. In one case, the illustrated separationof various components in the figures into distinct units may reflect theuse of corresponding distinct physical and tangible components in anactual implementation. Alternatively, or in addition, any singlecomponent illustrated in the figures may be implemented by plural actualphysical components. Alternatively, or in addition, the depiction of anytwo or more separate components in the figures may reflect differentfunctions performed by a single actual physical component. FIG. 20, tobe described in turn, provides additional details regarding oneillustrative physical implementation of the functions shown in thefigures.

Other figures describe the concepts in flowchart form. In this form,certain operations are described as constituting distinct blocksperformed in a certain order. Such implementations are illustrative andnon-limiting. Certain blocks described herein can be grouped togetherand performed in a single operation, certain blocks can be broken apartinto plural component blocks, and certain blocks can be performed in anorder that differs from that which is illustrated herein (including aparallel manner of performing the blocks). The blocks shown in theflowcharts can be implemented in any manner by any physical and tangiblemechanisms, for instance, by software running on computer equipment,hardware (e.g., chip-implemented logic functionality), etc., and/or anycombination thereof.

As to terminology, the phrase “configured to” encompasses any way thatany kind of physical and tangible functionality can be constructed toperform an identified operation. The functionality can be configured toperform an operation using, for instance, software running on computerequipment, hardware (e.g., chip-implemented logic functionality), etc.,and/or any combination thereof.

The term “logic” encompasses any physical and tangible functionality forperforming a task. For instance, each operation illustrated in theflowcharts corresponds to a logic component for performing thatoperation. An operation can be performed using, for instance, softwarerunning on computer equipment, hardware (e.g., chip-implemented logicfunctionality), etc., and/or any combination thereof. When implementedby computing equipment, a logic component represents an electricalcomponent that is a physical part of the computing system, howeverimplemented.

The following explanation may identify one or more features as“optional.” This type of statement is not to be interpreted as anexhaustive indication of features that may be considered optional; thatis, other features can be considered as optional, although not expresslyidentified in the text. Finally, the terms “exemplary” or “illustrative”refer to one implementation among potentially many implementations.

A. Illustrative Computer System

A.1. Overview of the Computer System

FIG. 1 shows a logical overview of a computer system 102 for managing auser's interaction with items. As the term is used herein, an “item”corresponds to any unit of instructions, data, etc. that can beprocessed by the computer system 102 to deliver an output presentationto the user. For example, without limitation, a particular item maycorrespond to an application of any type (e.g., a game, a movie player,a music player, a communication application, a social networkapplication, a search application, and so on). Alternatively, or inaddition, a particular item may correspond to a piece of content, suchas a movie, a song, a document, etc. Alternatively, or in addition, aparticular item may correspond to an application in conjunction with apiece of content, such as a movie player which is playing a particularmovie, and so on. To simplify the explanation, however, it willhenceforth be assumed that the items correspond to respectiveapplications.

In one implementation, the computer system 102 comprises at least a gameconsole. Users interact with the game console for the primary purpose ofplaying computer games. In this context, the computer system 102 allowsa user to integrate other (non-game) application experiences into his orher game play in an efficient and enjoyable manner. However, thecomputer system 102 is not limited to game consoles. In another case,for example, the computer system 102 may be centered around the use of ageneral purpose personal computer, a set-top box, a mobile computingdevice of any type, and so on.

By way of overview, the computer system 102 includes an interface module104 that handles a user's interaction the computer system 102. Morespecifically, the interface module 104 receives input information fromone or more input devices 106. Without limitation, the input devices 106may include any of: game controllers of any type; keypad input devices;joy sticks; mouse devices; touchscreen input mechanisms; voicerecognition functionality; movement sensing devices (such asaccelerometers, gyroscopes, etc.); body pose tracking mechanisms (suchas the Kinect™ device produced by Microsoft® Corporation, of Redmond,Wash.); electrodermal input mechanisms; physiological input mechanisms,and so on. The interface module 104 delivers output information to oneor more output devices, including a representative display device 108(such as a television screen) and/or one or more other output devices110 of any nature (such as speakers, printers, haptic output devices,hologram-generating devices, physical model-generating mechanisms,etc.).

At any given time, the interface module 104 formulates outputinformation into an output presentation. For instance, in the visualrealm, the interface module 104 presents a visual output presentation112 for output to the display device 108. Later figures provide examplesof various sequences of visual output presentations that the computersystem 102 may generate to allow the user to transition among items.

The computer system 102 may include other modules 114 for executing orotherwise processing a collection of items stored in one or more datastores 116. For example, one such module may correspond to agame-playing platform for executing a game application. The data stores116 may correspond to any combination of local data stores and/or remotedata stores. In the case of executable items, the data stores 116 storethe computer-executable instructions associated with the items.

The interface module 104 itself may include a presentation managementmodule 118 for managing the user's interaction with the items (some ofwhich may be stored in the data stores 116). From a very high levelstandpoint, the presentation management module 118 allows a user todiscover items that may be selected, to activate items, to pause items,to close items, to transition among items, and so on.

As will be discussed in detail in the ensuing explanation, thepresentation management module 118 also allows a user to select apresentation mode for each item that is presented. As the term is usedherein, a presentation mode refers to the user interface technique thatthe computer system 102 uses to present an item to the user. Thepresentation mode may be characterized, for instance, by one or more of:(a) the size of a (visual) presentation; (b) the position of the(visual) presentation within a display space; (c) the device(s) that areused to present the presentation; (d) the manner in which thepresentation affects another ongoing presentation; (e) video and/oraudio settings that affect the presentation (such as contrast, color,transparency, volume, etc.); (f) the manner in which the informationassociated with the presentation is archived (if at all); (g) thesecurity applied to the presentation, and so on.

In performing its functions, the presentation management module 118 mayrely on most-recently-used (MRU) information stored in a data store 120.The MRU information identifies, for each user: (a) a set of n items thatwere mostly recently presented by the computer system 102 to the user;and (b) for at least some of the n items, the presentation modes thatwere used to present the n items to the user.

The presentation management module 118 may also rely on a data store 122that stores favorite item information. The favorite item informationcorresponds to information that an individual user (or group of users)has designated as favorites. More generally, the presentation managementmodule 118 may allow the user to interact with one or more collectionsof items. In some cases, a user may specify the items in a collectionbased on any criteria. In another case, some entity other than the usermay specify the items in a collection.

FIG. 2 shows one implementation of the computer system 102 of FIG. 1.That implementation includes a local computing device 202 with which auser “X” may interact. The local computing device 202, for instance, maycorrespond to a game console, a set-top box, a personal computing deviceof any type, a mobile computing device of any type, and so on. The localcomputing device 202 performs its functions using local computing andstorage resources 204.

More generally stated, FIG. 1 shows the computer system 102 as itrelates to a single user who is interacting with the computer system102. But more generally, as shown in FIG. 2, the computer system 102 mayencompass plural local computing devices through which plural users mayinteract with items. For example, FIG. 2 shows another local computingdevice 206 with which another user “Y” may interact. A single user(e.g., user “X”) may also interact with his or her account via two ormore local computing devices, e.g., by submitting appropriatecredentials to log into his her account on each machine.

Each local computing device (e.g., local computing devices 202, 206,etc.) may interact with a remote computing framework 208. The remotecomputing framework 208 may use remote computing and storage resources210 to implement one or more functions of the computing system 102. Forexample, the remote computing framework 208 can store various types ofinformation in a central repository (such as account information, scoreinformation, MRU information etc.), which allows users to access thisinformation via different local computing devices. Further, the computersystem 102 may allocate certain resource-intensive computations to theremote computing framework 208 to reduce the processing burden placed onindividual local computing devices. In one physical implementation, theremote computing framework 208 may correspond to one or more servercomputing devices and associated data stores.

A computer network 212 may couple together the above-describedcomponents, e.g., by allowing the local computing devices (202, 206) tocommunicate with the remote computing framework 208. The computernetwork 212 may represent a local area network, a wide area network(e.g., the Internet), point-to-point links, or any combination thereof.

FIG. 3 presents further details of one logical implementation of thepresentation management module 118 of FIG. 1. To begin within, thepresentation management module 118 includes an MRU management module 302for managing the storage and presentation of most-recently-used (MRU)information. In one implementation, the MRU management module 302performs these functions for each user, e.g., by maintaining an instanceof MRU information for each user, and presenting that MRU information tothe user when he or she interacts with the computer system 102. As notedabove, the MRU information for each user describes the n items that weremost recently presented to the user via the computer system 102.

More specifically, the MRU management module 302 performs at least twotasks. First, the MRU management module 302 updates a user's MRUinformation each time an item is presented to the user. Morespecifically, the MRU management module 302 may store: (a) an indicationthat the item was the last-viewed item that the user consumed; and (b)an indication of the presentation mode that was used to present the itemto the user.

FIG. 3 shows an excerpt of MRU information that is maintained by thecomputer system 102 for a hypothetical user, identified by the aliasSAM123. That information indicates that the computer system 102presented a game “A” in a full mode. Before that, the computer system102 presented a social network “F” application in a snap mode, and soon. The meaning of the concepts “full mode” and “snap mode” will beexplained in the next subsection; at this point, suffice it to say thatthe full mode and the snap mode correspond to two presentation modes.

In one case, the MRU management module 302 can manage the instance ofMRU information as a first-in-first-out (FIFO) buffer. At any giventime, the MRU management module 302 may store the last n items that werepresented. The number n may correspond to any implementation-specificnumber selected by an application developer (or a user, if permitted),such as the last 20 items, 50 items, 100 items, etc. The MRU managementmodule 302 effectively deletes an entry in the list when it reachesposition n+1, and thereby “falls” off the list.

The MRU management module 302 may store the MRU information in the datastore 120. The data store 120, in turn, may represent a local data store304 and a remote data store 306. The local store is local with respectto whatever device that the user is using to interact with the MRUinformation. The remote store is remote with respect to the localdevice, and may correspond to a storage resource provided by the remotecomputing framework 208 of FIG. 2. In one case, the MRU managementmodule 302 duplicates whatever information that it stores in the localdata store 304 in the remote data store 306; this enables the user toaccess the MRU information while using a different local computingdevice (corresponding to any computing device other than the device thatcreated the MRU information).

As another function, the MRU management module 302 presents the MRUinformation to the user. In one case, the MRU management module 302reveals the MRU information to the user when the user visits a homepageor the like. A homepage corresponds to a hub interface through whichother pages may be accessed. However, in other implementations, the MRUmanagement module 302 can expose the MRU information to the user indifferent ways. For example, the MRU management module 302 can alsoprovide the MRU information on plural different pages, e.g., in adedicated peripheral region of these pages. Or the MRU management module302 can present the MRU information via a drop-down menu selection, orin response to a voice command, and so on.

More precisely stated, the MRU management module 302 may operate bydisplaying information regarding the z most recently presented items,e.g., corresponding to the z top entries in the list of n itemsdescribed above. For example, in the non-limiting case illustrated inthe figures, z is 4, but z can correspond to any number selected by anapplication developer or user.

The MRU management module 302 can also rely on one or more additionalfactors to determine what MRU information to present to the user. Forexample, the MRU management module 302 may maintain a to-be-excludedlist of items. The MRU management module 302 can consult this list priorto displaying the MRU information, and prevent any item from appearingin the set of z most recently used items if it appears in this list,even though it otherwise meets the criteria for being presented. If anitem is excluded, the MRU management module 302 can pull another itemoff the top of the list of n most recently used items to fill the z^(th)slot.

A snap center interaction module 308 presents information to the userregarding a collection of items that are capable of being presented in aparticular presentation mode. In one case, the snap center interactionmodule 308 presents information regarding items that can be presented ina snap mode. Again, the meaning of the concept “snap mode” will be setforth below. In one case, the listing produced by the snap centerinteraction module 308 can exclude those items that cannot be presentedin the designated presentation mode—e.g., that cannot be presented inthe snap presentation mode.

To perform the above function, the snap center interaction module 308can access a local data store 310. In one implementation, the local datastore 310 may store information regarding items that are locally stored(e.g., on the user's game console or other computing device), wherethose items are capable of being presented in the snap mode. Thecomputing device, in turn, may actively produce the entries in the datastore 310 by performing a filtering operation, e.g., by identifying thesubset of items that are currently installed on the computing devicethat can be presented in the snap mode.

The snap center interaction module 308 may also include a prompt thatinvites the user to obtain information about additional items that canbe presented in the snap mode, but are not currently represented by theinitial list of items. If the user activates this prompt, the snapcenter interaction module 308 can access a supplemental data store 312.In one implementation, the supplemental data store 312 may storeinformation regarding items that are remotely stored (e.g., on theremote computing framework 208 of FIG. 2), where those items are capableof being presented in the snap mode. If the user selects one of thoseremotely stored items, the computing system 102 can download it to theuser's local computing device.

In one implementation, the snap center interaction module 308 itselfrepresents an application that can be executed by the computing system102 to provide output information. More specifically, the snap centerinteraction module 308 itself represents a type of application that canbe presented in the snap mode. The above statements will be clarified inthe explanation provided in Subsection A.2 (below).

The snap center interaction module 308 can also formulate the collectionof items based on one or more additional factors (that is, in additionto whether the items are capable of being presented in the snap mode).For example, the snap center interaction module 308 can omit items fromthe collection if they appear in a to-be-excluded list, maintained bythe snap center interaction module 308. In addition, or alternatively,the snap center interaction module 308 can order the items in thecollection of items based on at least one ordering criterion. Forexample, the snap center interaction module 308 can order the itemsbased on how recently they have been viewed by the particular user whois currently interacting with the computing device, and/or the frequencyat which the items have been viewed by the user (or by all users or agroup of users), and so on. In addition, or alternatively, the snapcenter interaction module 308 can highlight one or more items in thecollection based on any factor or factors (to be described in greaterdetail below).

A mode management module 314 controls the mode that the computer system102 uses to present output information to the user at any given time,such as by displaying the output information in the full mode, snapmode, etc. To perform this function, the mode management module 314interacts with at least the MRU management module 302 and the snapcenter interaction module 308.

FIG. 3 also includes a generically-labeled box, “other modules” 316.This box indicates that the presentation management module 118 mayinclude any number of addition functional modules, but where thosemodules are not relevant to the present focus of this disclosure.

A.2. Illustrative User Experience

FIGS. 4A-4F, 5-11, 12A, 12B, and 13 show various sequences of outputpresentations that the computer system 102 may produce. The variousfeatures that appear in the output presentations are presented by way ofexemplary illustration, not limitation. That is, any aspect of thesepresentations can be changed, including the selection of parts in thosepresentations, the arrangement of the parts, the appearance of theparts, the behavior of the parts, and so on.

To begin with, FIG. 4A shows an output presentation 402 generated by acomputing device (such as local computing device 202 of FIG. 2) when auser visits a homepage. In one illustrative implementation, the user mayaccess the homepage by activating a hard button on a controller (notshown), a soft control on an output presentation, and/or by using someother technique. In the non-limiting example shown, the outputpresentation 402 includes an optional menu presentation 404 throughwhich the user may access various functions and features. To simplifyexplanation, the menu presentation 404 is omitted from subsequentdrawings.

The output presentation 402 includes a representation of an item that iscurrently being consumed by the user—in this case, a driving gamelabeled “A.” The computing device uses a current item tile 406 torepresent this item. For example, the current item tile 406 may presenta snapshot of the output generated by the driving game “A” at aparticular time, e.g., at the time that the user paused the game tovisit the homepage. Or the current item tile 406 may present a stockimage associated with the driving game “A,” etc.

The output presentation 402 also includes representations of the z mostrecently presented items, selected from among a larger number of nitems. These tiles are henceforth referred to as MRU item tiles 408. Inthis case, the output presentation 402 shows four MRU item tiles 408,but z can correspond to any configurable number.

In the example, the most recent previous item that was presented is asearch application, associated with the MRU item tile 410. The next mostrecent previous item is a movie player application. The next most recentprevious item is another game, i.e., game “B.” The next most recent itemis a social networking application, e.g., social networking application“F.” The next most recent item, at position z+1, is currently concealedfrom the output presentation 402. Although not shown, the outputpresentation 402 may also optionally include a “show me more” option toexpose additional items in the list of n most recently used items.

Each MRU item tile includes a presentation mode indicator that conveysthe presentation mode that was last used to present the correspondingitem. For example, the MRU item tile 410 includes an indicator 412,corresponding to the symbol “S.” That indicator 412 conveys that thesearch application (associated with the MRU item tile 410) was lastpresented in a snap mode. More generally, each indicator can take anyform and can be presented in any medium or combination of media. Forexample, in another case, the indicator 412 may correspond to an iconthat appears above the MRU item tile 410. In another case, the indicatormay correspond to some visual attribute of the MRU item tile 410 itself,such as the color, size, transparency level, etc. of the MRU item tile410.

Further note that FIG. 4A indicates that each of the four MRU item tiles408 is annotated with an indicator. But in another case, only a subsetof the z most recently presented items may be annotated with indicators.The lack of an express indicator for an item may mean that the item waslast presented in a particular default presentation mode (such as thefull mode). Here, the lack of an indicator itself serves as anindicator. Or the lack of an indicator for an item may reflect anexpectation that users will implicitly understand, based on the natureof the item, the presentation mode that will apply to the item, withoutbeing expressly informed. Or the lack of an indicator may indicate thatthe presentation mode for an item was not recorded or is otherwise notavailable for any reason.

The output presentation 402 also includes a set of favorite item tiles414. The favorite item tiles 414 represent items that the user hasmanually selected as favorites, thereby “pinning” these items to theuser's homepage for convenient later access. Although not shown, theoutput presentation 402 can include any other user interface features,such as: a portal to a store from which the user may obtain additionalitems; a collection of recommended item tiles corresponding to itemsthat are being recommended by a store or some other entity; a collectionof frequently-used item tiles corresponding to items that are frequentlyused (although not necessarily recently used), and so on.

Finally, the output presentation includes a service selector 416. Theservice selector 416 represents a service that the user may activate toobtain information regarding items that are capable of being presentedin a certain mode, such as the snap mode. Later figures and accompanyingexplanation clarify the role of the service selector 416 and the servicewhich it invokes.

Assume now that the user wishes to resume the presentation provided bythe current item, represented by the current item tile 406. The user mayperform this operation in different ways. In one approach, the user mayselect the current item tile 406 and then select a context menu (to bedescribed later). The user may then interact with the context menu torequest that the current item resume in a full mode, e.g., as opposed toa snap mode. The computing device can also allow the user to make such aselection via any kind of shortcut gesture, e.g., without expresslyactivating a context menu. For example, the user can activate the game“A” by directly clicking on or otherwise activating the current itemtile 406.

As a result of the user's selection, the computing device presents theoutput presentation 418. The output presentation 418 presents the outputof game “A.” More specifically, assume that the computing devicesuspended the course of game “A” when the user visited the homepage(corresponding to the output presentation 402). The game “A” may furtherstore state information which describes the state of the game at thetime of its suspension. When the user resumes play, the game “A” mayaccess the state information and use it to resume the course of thegame, starting at the point at which it was suspended. Differentapplications may perform this task in different application-specificmanners.

The computing device displays the output of game “A” in the full mode ofpresentation, as requested by the user. In the full mode, the computingdevice presents the output of an item in a primary display region. In asnap mode (not shown yet), the computing device presents the output ofan item in a secondary display region. In general, the primary displayregion is more prominent compared to the secondary display region.Prominence may be reflected in the size of the primary region relativethe secondary display region, and/or the position of the primary displayregion relative to the secondary display region, and/or some otherattribute(s) of prominence.

More specifically, the terms primary and secondary are relative termsthat assume different meanings for different presentation contexts. Forexample, when the user is single-tasking (e.g., by interacting with onlya single item at one time), the primary display region associated withthe full display mode may correspond to a substantial portion (or all)of the displayable space provided by a display device (as is the casefor output presentation 418). When the user is multi-tasking (e.g., byinteracting with two or more items at one time), the primary displayregion associated with the full mode may correspond to the largestportion of a split-screen presentation, or otherwise the most prominentportion (such as the central portion) of the split-screen presentation,etc. To facilitate explanation, when multi-tasking, the fullpresentation mode for an item may be referred to as a fill mode, insofaras the computing device may present the output of the item by filling upthe largest display space that is currently available.

In contrast, when the user is multi-tasking, the secondary displayregion associated with the snap mode may correspond to the smallestdisplay region associated with a split-screen presentation, or otherwisea less prominent portion of the split-screen presentation (compared tothe primary display region). For example, the secondary display regionmay correspond to a smaller region that lies to the left or the right ofthe primary display region in a split-screen presentation. Thispresentation may also be referred to as a snapped display region insofaras it is metaphorically “snapped” to one side of the split-screenpresentation. In terms of user experience, the user may naturallyprovide a greater focus of attention to the primary display regioncompared to the secondary display region.

The split-screen example represents only one implementation of thefull/fill mode and the snap modes. In another case, for example, thecomputing device may present the secondary display region as apicture-in-picture region within the primary display region. In anothercase, the computing device may present the secondary display region as apop-up display panel that a user may activate and deactivate at will. Inanother case, the computing device may allow the user to toggle betweenthe primary and secondary display regions in any manner, withoutnecessarily displaying them at the same time. In another case, thecomputing device may split the output screen into three or more part;here, the primary display region may correspond to the largest portionand/or the portion closest to the center of the screen. In thislast-mentioned case, there are two or more secondary display portions,which may be ranked in prominence or treated as having equal prominence.Still other variations are possible.

Advancing to FIG. 4B, assume now that the user again returns to thehomepage, corresponding to the output presentation 420. Then assume thatthe user selects a new item, such as a video conferencing applicationassociated with the favorite item tile 422. Once again, the user canactivate this item in any manner. For example, assume that the userselects the favorite item tile 414 and then activates the context menu.Assume that the user then uses the context menu to instruct thecomputing device to present the video conferencing application in thefull mode. Or the computing device may, as a default, present the videoconferencing application in the full mode when the user directly clickson its tile 422, if the full mode is available for this item.

As a result of any of the above operations, the computing devicegenerates the output presentation 424. Assume that the user is stillsingle-tasking. Hence, the computing device may display the output ofthe video conferencing application in the full mode by displaying itover the entire available display space. In one merely illustrativecase, the output may show an image of a person (“John in Redmond”) withwhom the user is communicating.

Advancing now to FIG. 4C, assume that the user again returns to thehomepage, corresponding to the output presentation 426. At thisjuncture, the current item corresponds to the video conferencingapplication, so the current item tile 406 presents a representation ofthat item. The most recently presented item now corresponds to the game“A.” Thus, the MRU item tile 428 represents the game “A” and theindicator 430 conveys to the user that he or she was consuming game “A”in the full mode, represented by the icon “F.” Further note that the MRUitem tile for the social networking application “F” has fallen off thelist of z most recent items, and therefore does not appear in the outputpresentation 426 at this time.

Advancing to FIG. 4D, assume that the user now wishes to resume thevideo conferencing application, but this time in the snap mode, not thefull mode. To perform this task, the user may select the current itemtile 406 and then activate the context menu 432. The context menu 432may provide a list of options which are possible for this particularitem (the video conferencing application), and may exclude options thatare not possible for this particular item. Two respective options allowthe user to present the item in a full mode or a snap mode. Assume thatthe user selects the snap mode.

As a result of the user's selection, the computing device presents theoutput presentation 434. The output presentation 434 displays the videoconferencing application in a secondary display region 436 (alsoreferred to as the snap display region), and it may resume the game “A”in a primary display region 438, because the game “A” is the mostrecently presented item in the list of z most recent items. Asindicated, the secondary display region 436 is peripherally orientedwithin the overall output presentation 434, and it is smaller than theprimary display region 438. But, to repeat, the prominence of theprimary display region 438 relative to the secondary display region 436can be established in other ways.

The computing device can resume the game “A” in different ways. In onecase, the computing device stores the state of game “A” at the point intime at which it was suspended. The computing device can resume the game“A” from that point in time, based on the stored state information. Inanother mode, the computing device may restart game “A” from itsbeginning without reference to stored state information.

Advancing to FIG. 4E, assume that the user again returns to thehomepage, associated with output presentation 440. The current item tile406 now presents a visual indication that the user is currentlyconsuming two items via a split-screen presentation, e.g., by joiningtwo tiles (406A, 406B) together, the tile 406A corresponding the game“A” and the tile 406B corresponding to the video conferencingapplication.

Now assume that the user wishes to close the video conferencingapplication. Different implementations can allow the user to performthis task in different ways. In the non-limiting case of FIG. 4E, theoutput presentation 444 includes an un-snap command 442. The user mayactivate this command 442 to remove the snapped component of the outputpresentation, thereby closing down the video conferencing application.As another option, the user may select the tile 406A associated withgame “A,” and then instruct the computing device to present this item inthe full mode.

As a result of the user's above-described actions, the computing devicemay update the homepage, to produce the output presentation 444.(Alternatively, although not shown in FIG. 4E, the computing device maydirectly advance to a presentation of game “A” in the full mode). In theoutput presentation 444, the current item tile 406 displays arepresentation of just the game “A.” Further, the most recentlypresented item now corresponds to the video conferencing application, sothe MRU item tile 446 now represents the video conferencing application.The indicator 448 for this MRU item tile 446 indicates that the videoconferencing application was last presented in the snap mode, ratherthan the full mode.

Finally, advancing to FIG. 4F, assume that the user wants to reactivatethe video conferencing application. The user may perform this task byselecting the MRU item tile 446 for this application, e.g., by clickingon it. As a default, the user's action causes the computing device topresent the output presentation 450 shown in FIG. 4F. As indicatedthere, the computing device displays the video conferencing applicationin the snap mode, e.g., in the secondary display region 452. Thecomputing device displays the game “A” in the primary display region454. The reason that the computing device displays the videoconferencing application in the snap mode is because the MRU informationindicates that this was the last mode that was used to present thisitem, as reflected by the indicator 448 of FIG. 4E.

Although not shown in FIG. 4E, the user could have alternativelyreactivated the video conferencing application in the full mode byselecting the MRU item tile 446, activating a context menu, and thenselecting the “full mode” option in the context menu.

FIG. 5 shows the above-described alternative scenario. As indicatedthere, assume that the user selects an MRU item tile 502, associatedwith a search application, within an output presentation 504. The MRUitem tile 502 includes an indicator “S” which conveys that the searchapplication was last presented in the snap mode. If the user wants toalternatively display the output of the search application in the fullmode, the user may activate a context menu 506 and then activate the“full mode” option in the list of options provided by the context menu506.

Advancing to FIG. 6, assume that the user again wants to select thesearch application, associated with the MRU item tile 502. But nowassume that the search application is no longer stored on the localcomputing device with which the user is currently interacting. Forexample, the user may have first interacted with the search applicationwhen using a first computing device, but is now interacting with aseparate second computing device, such as a computing device at theuser's friend's house, or at the user's workplace. The second computingdevice can access the current list of the z most recently presenteditems from the remote data store, assuming that it has connectivity tothat data store. But the second computing device may not, at thisjuncture, store the code associated with the search application itself.In another case, the user may have removed the search application fromthe first computing device.

To address this case, the computing device with which the user iscurrently interacting may display a notification 602 within an outputpresentation 604. The notification alerts the user to the fact that therequested item is not locally stored on his or her current computingdevice. The notification may also invite the user to obtain the item,e.g., by downloading it from a remote source, such as a data storeprovided by the remote computing framework 208.

In one case, the remote computing framework 208 can also store stateinformation, which reflects the state of the search application at thattime that the user closed it down. The current computing device (withwhich the user is currently interacting) can obtain both the stateinformation and the code associated with the search application. Thisallows the user to resume the search application at the state at whichhe or she terminated the application, even though the user's currentcomputing device did not originally preserve the state information.Otherwise, the state information may be lost and the user may resume thesearch application from its default starting point.

Advancing to FIG. 7, again assume that the current item tile 406 revealsthat the user is currently consuming the game “A” in the fill mode andthe video conferencing application in the snap mode. Assume that, atthis juncture, the user activates a game “C,” associated with a favoriteitem tile 702 in output presentation 704, e.g., by clicking on the tile702. In response, the computing device can produce the outputpresentation 706. In that presentation 706, the computing devicedisplays, as a default, the game “C” in fill mode in the primary displayregion 708 (if this option is available for the game “C”) and the videoconferencing application in the snap mode in the secondary displayregion 710. In other words, the computing device replaces game “A” withgame “C,” such that game “A” is now the most recently presented item inthe list of z most recently presented items.

In the above description, the user was offered the choice between twopresentation modes: the full (or fill) presentation mode and the snappresentation mode. But other implementations can offer additionalpresentation mode choices. For example, in FIG. 8 assume that the useragain wishes to activate the video conferencing application in aparticular presentation mode. To do so, the user may activate thecontext menu 802 within the output presentation 804. Here, the contextmenu 802 provides two additional presentation mode options: move toperipheral, and play in background.

First assume that the user selects the first additional option, “move toperipheral.” Further assume that the computing device represents a gameconsole that displays content on a primary display device, such as atelevision screen. In response to the user's selection of the “move toperipheral” option, the game console can display the output of the game“A” on the television screen 806 in the full mode. On the other hand,the game console can now display the output of the video conferencingapplication on an entirely different display device, such as the displaydevice 808 provided by a stationary personal computing device, a tabletcomputing device, a smartphone, etc.

Advancing to FIG. 9, assume now that the user alternatively selects the“play in background” option of the context menu 902. In response, thegame console can again continue to display the game “A” on thetelevision screen 806 in the full mode. But now the game consoledisplays just the audio component of the video conferencing applicationon the speakers 904 of the television set. In other words, the videoconferencing application may be said to run in the background withrespect to the user's interaction with game “A,” insofar as it at leastdoes not interfere with the screen space allocated to the game “A.” Inanother implementation, the game console can optionally mute the audiooutput of the game “A,” or reduce the volume of the game “A.”

The transfer and background modes are cited by way of illustration, notlimitation. Still further presentation modes are possible, as identifiedin Subsection A.1. Further, the computing device can allow the user toselect from among different varieties of split-screen presentations,such as the above-described two-way split-screen presentation, or athree-way presentation, etc.

Although not shown, a homepage can further include indicators whichrepresent the additional presentation modes described above, such as bydisplaying an “M” symbol for the move-to-peripheral option, a “B” symbolfor the play-in-background option, and an “S3” symbol for the three-waysplit-screen presentation, and so on. The computing device can furtherallow a user to select two or more output presentations to be used inconjunction. For example, the user can instruct the computing device todisplay the video conferencing application on a separate device, andfurther indicate that the video conferencing application is to bepresented in the background with respect to whatever other functions theseparate device may be performing. The MRU item tile for this compoundpresentation mode may therefore include both the symbols “M” (for themove-to-peripheral component) and “B” (for the play-in-backgroundcomponent).

FIG. 10 shows an illustrative MRU item tile 1002 that corresponds to anews feed application, e.g., which presents a series of news stories tothe user, as they become available. This MRU item tile 1002 is anexample of a tile that includes plural indicators. As before, forinstance, the MRU item tile 1002 may include one or more presentationmode indicators 1004. For example, the MRU item tile 1002 includes apresentation mode indicator that conveys the presentation mode in whichthe news feed application was last viewed—in this case the snap mode,associated with icon “S.” That indicator also conveys the presentationmode in which the news feed application will resume, once reactivated.

The MRU item tile 1002 also includes one or more state status indicators1006. Each state status indicator conveys an aspect of the current stateof the news feed application itself. Each such state status indicatoralso conveys the state in which the application will resume, oncereactivated. More specifically, a presentation mode indicator can beregarded as a system-wide property insofar as its describes the mannerin which the computing system 102 will present the output of anapplication, while a state status indicator is an application-specificproperty because it describes a state associated with the applicationoutput flow itself.

The computing device presents the state status indicators based onstored state information. In one case, each individual applicationstores respective state information in the manner described above. TheMRU management module 302 may also locally and/or remotely store certainaspects of the state information in the data store 120, along with thepresentation mode information. For example, the MRU management module302 may store high-level metadata pertaining to the state of each of then most recently used items.

For example, assume that the news feed application hosts plural pagescorresponding to different respective news themes. A first state statusindicator indicates the page of the news feed application that was lastviewed. In this example, the first state status indicator conveys thatthe user was last viewing the sports page. That state status indicatoralso conveys the page that will be presented when the user reactivatesthe news feed application.

A second state status indicator may indicate whether the audio contentdelivered by the news feed application is currently running (althoughnot being presented to the user at this time), or whether it has beenpaused. In this example, the second state status indicator conveys thatthe audio is currently running. As such, when the user reactivates thenews feed application, the audio will resume at its in-progress state.

The above two types of state status indicators were described by way ofillustration, not limitation. The computing device can presentindicators which reflect any other aspect of the state of an item.Further, the arrangement and individual appearances of the variousindicators shown in FIG. 10 are presented by way of illustration, notlimitation; other arrangements/appearances are possible.

The MRU item tile 1002 also can include a visual appearance thatreflects the state of the corresponding item. For example, the MRU itemtile 1002 can include a state-specific image 1008 which indicates thatthe user has last viewed the sports page of the application. In othercases, the state-specific image 1008 may correspond to an actualminiature snapshot (thumbnail) of the visual output of the applicationwhen it was last viewed.

FIG. 11 shows another MRU item tile 1102 for the same news feedapplication, but where the application is now in a different state. Thatis, the presentation mode indicators 1104 indicate that the applicationwas last viewed in the full mode. The state status indicators 1106indicate that the user last viewed a DOW presentation provided by afinance page of the application, and that the audio presentation iscurrently paused (rather than ongoing). The state-specific image 1108shows a finance-related image, and therefore the MRU item tile 1102 hasa different overall appearance than the MRU item tile 1002, althoughthese tiles pertain to the same application.

Advancing to FIG. 12A, this figure shows an output presentation 1002 inwhich the user activates the service selector 416. In response, thecomputing device presents the output presentation 1204. The outputpresentation 1204 displays an output associated with a snap service(provided, in turn, by the snap center interaction module 308) in thesnap mode, within a secondary display region 1206. The computing devicemay present the game “A” (which the user was currently playing) in thefill mode within the primary display region 1208.

The secondary display region 1206 displays representations of acollection of items that can be selected in the snap mode, such as thevideo conferencing application, a game chat application (associated withthe game “A”), the search application, and so on. The computing devicemay represent these applications with a collection of snap-capable itemtiles 1210. In one implementation, the computing device may retrieveinformation regarding these items from the data store 310 of FIG. 3,which, in turn, may be produced by identifying the subset of items onthe local computing device that are capable of being presented in thesnap mode. The secondary display region 1206 also includes a “get moreapps” tile 1212 which invites the user to obtain information regardingadditional items that can be snapped. The computing device may obtaininformation regarding these additional items from the supplemental datastore 312 of FIG. 3.

Note that the snap service, which provides the information in thesecondary display region 1206, is itself an application that can bepresented in the snap mode. Hence, the snap service behaves like anyother application that is snapped, e.g., by displaying its output in thesecondary display region 1206.

The snap center interaction module 308 can optionally order the items inthe secondary display region 1206 based on any ordering criterion orcriteria. For example, the snap center interaction module 308 can orderthe items based on the order in which they were most recently used bythe user, e.g., such that the most recently used application appears atthe top of the list. In addition, or alternatively, the snap centerinteraction module 308 can optionally omit any item from the secondarydisplay region 1206 if it appears in a to-be-excluded list, even thoughsuch an application may be a snap-capable application. In addition, oralternatively, the snap center interaction module 308 can highlight oneor more items based on any criterion or criteria. For example, the snapcenter interaction module 308 can present the tile 1214 in a highlightedmode because it pertains to an application which complements theapplication currently being presented in the fill mode, namely the game“A” application. In other words, the application associated with thetile 1214 is related to the game “A” application, and therefore it isreasonable that a user may want to interact with both at the same time.

Assume that the user now selects the video conferencing tile in thesecondary display region 1206. In response, the computing devicepresents the output presentation 1216 shown in FIG. 12B. The outputpresentation 1216 continues to present the game “A” in the primarydisplay region 1208, but now displays the video conferencing applicationin the secondary display region 1206.

Alternatively, assume that the user had selected the “get more apps”tile 1212 of FIG. 12A, and then subsequently selected one of theaddition items presented in the secondary display region 1206 (notshown). In response, the computing device may retrieve the correspondingitem from the remote computing framework 208 and store it on the user'slocal computing device. More concretely stated, the computing device mayresponse to the user's instruction by downloading the code associatedwith a selected application.

The above-described behavior was framed in the illustrative context of aparticular service that allows a user to select from among items thatcan be presented in the snap mode. More generally stated, the computingdevice can invoke services that allow the user to select applicationsthat can be presented in any output mode. For example, FIG. 13 shows anoutput presentation 1302 that allows a user to select a service selector1304, to thereby invoke the above-described snap service. Alternatively,the user may select a service selector 1306 to invoke amove-to-peripheral service. The move-to-peripheral service presents alist of items that can be played on a separate device, in the mannershown in FIG. 8. Alternatively, the user may select a service selector1308 to invoke a play-in-background service. The play-in-backgroundservice presents a list of items that can be presented in the backgroundmode, in the manner shown in FIG. 9. Still other services and associatedselectors are possible.

B. Illustrative Processes

FIGS. 14-19 show procedures that explain one manner of operation of thecomputer system 102 of Section A. Since the principles underlying theoperation of the computer system 102 have already been described inSection A, certain operations will be addressed in summary fashion inthis section.

To begin with, FIG. 14 shows a procedure 1402 which describes one waythat the computer system 102 can present representations of the z mostlyrecently viewed items. In block 1404, the computer system receives atriggering selection, such as the user's selection of a “go home”instruction, which instructs the computing device to go to a homepagepresentation. In block 1406, the computer system 102 accesses a datastore (e.g., data store 120) that provides MRU information,corresponding to information regarding the n items that have been mostrecently presented by the computer device for the user. In block 1408,the computer system 102 presents representations of the top z of the nitems, such as the top four of the n item. In block 1410, the computersystem 102 presents at least one presentation mode indicator for atleast one item, conveying the presentation mode in which that item waslast presented. Although not shown, the computer system 102 canoptionally also present one or more state status indicators for eachitem.

FIG. 15 shows a procedure 1502 which describes one way that the computersystem 102 can present the output of a selected item. In block 1504, thecomputer system 102 receives the user's selection of an item, to providea selected item. For example, the user may select the MRU item tileassociated with the selected item. In block 1506, the computer system102 presents, as a default, an output associated with the selected itemin a presentation mode that matches the presentation mode in which theselected item was most recently presented. This presentation mode isreflected by the indicator associated with the selected MRU item tile.

FIG. 16 shows a procedure 1602 which describes one way that the computersystem 102 can change the presentation mode for a selected item, e.g.,so that it differs from the most recently used presentation mode. Inblock 1604, the computer system 102 receives the user's selection of anitem, such as the user's selection of an MRU item tile associated withthe item. This provides a selected item. In block 1606, the computersystem 102 then receives the user's selection of a new presentationmode, which may differ from the presentation mode in which the item waslast presented (as reflected by the indicator associated with the MRUitem tile). In block 1608, the computer system 102 presents an outputassociated with the selected item using the new presentation mode.

FIG. 17 shows a procedure 1702 which describes one way that the computersystem 102 can update stored information regarding the most recentlyused items, upon the selection of a new item. In block 1704, thecomputer system receives the user's selection of a new item, such as theuser's selection of an item from the collection of favorite items.Further assume that the user opts to display this new item in aparticular presentation mode, such as the full or snap modes. In block1706, the computer system 102 stores information that conveys: (a) anindication that the new item is now the most recent item that has beenselected; and (b) the particular presentation mode that was used topresent the new item.

FIG. 18 shows a procedure 1802 which describes one way that the computersystem 102 can invoke and utilize a snap service (or a service dedicatedto some other presentation mode). In block 1804, the computer system 102receives a triggering selection, such as the user's selection of aservice selector. In block 1806, in response to the selection of theservice selector, the computer system 102 presents representations of acollection of items that are capable of being presented in a particularpresentation mode (such as the snap presentation mode). The computersystem 102 may specifically display the collection of items in a modethat matches the particular presentation mode, such as by presenting theitems in a secondary display region, as per the snap presentation mode.In block 1808, the computer system 102 receives the user's selection ofan item from the collection of items, to provide a selected item. Inblock 1810, the computer system 102 displays the selected item in theparticular presentation mode (e.g., the snap presentation mode).

Finally, FIG. 19 shows a procedure 1902 which describes one way that thecomputer system 102 can receive information regarding additional items,in the context of interacting with the output of a particular service,such as the snap service. In block 1904, the computer system 102receives a user's request for at least one additional item that is notcurrently in the collection of items. In block 1906, the computer systemreceives a representation of at least one such additional item. In block1908, the computer system 102 displays the representations of theadditional item(s).

C. Representative Computing Functionality

FIG. 20 shows computing functionality 2002 that can be used to implementany aspect of the computer system 102 of FIG. 1. For instance, the typeof computing functionality 2002 shown in FIG. 20 can be used toimplement any aspect of the local computing device 202 of FIG. 2, andthe remote computing framework 208 of the same figure. In all cases, thecomputing functionality 2002 represents one or more physical andtangible processing mechanisms.

The computing functionality 2002 can include one or more processingdevices 2004, such as one or more central processing units (CPUs),and/or one or more graphical processing units (GPUs), and so on.

The computing functionality 2002 can also include any storage resources2006 for storing any kind of information, such as code, settings, data,etc. Without limitation, for instance, the storage resources 2006 mayinclude any of: RAM of any type(s), ROM of any type(s), flash devices,hard disks, optical disks, and so on. More generally, any storageresource can use any technology for storing information. Further, anystorage resource may provide volatile or non-volatile retention ofinformation. Further, any storage resource may represent a fixed orremoval component of the computing functionality 2002. The computingfunctionality 2002 may perform any of the functions described above whenthe processing devices 2004 carry out instructions stored in any storageresource or combination of storage resources.

As to terminology, any of the storage resources 2006, or any combinationof the storage resources 2006, may be regarded as a computer readablemedium. In many cases, a computer readable medium represents some formof physical and tangible entity. The term computer readable medium alsoencompasses propagated signals, e.g., transmitted or received viaphysical conduit and/or air or other wireless medium, etc. However, thespecific terms “computer readable storage medium” and “computer readablemedium device” expressly exclude propagated signals per se, whileincluding all other forms of computer readable media.

The computing functionality 2002 also includes one or more drivemechanisms 2008 for interacting with any storage resource, such as ahard disk drive mechanism, an optical disk drive mechanism, and so on.

The computing functionality 2002 also includes an input/output module2010 for receiving various inputs (via input devices 2012), and forproviding various outputs (via output devices 2014). Illustrative typesof input devices were identified above in Subsection A.1. One particularoutput mechanism may include a presentation device 2016 (such as atelevision screen) and an associated graphical user interface (GUI)2018. Other types of output devices were identified in Subsection A.1.The computing functionality 2002 can also include one or more networkinterfaces 2020 for exchanging data with other devices via a computernetwork 2022. One or more communication buses 2024 communicativelycouple the above-described components together.

The communication network 2022 can be implemented in any manner, e.g.,by a local area network, a wide area network (e.g., the Internet),point-to-point connections, etc., or any combination thereof. Thecommunication network 2022 can include any combination of hardwiredlinks, wireless links, routers, gateway functionality, name servers,etc., governed by any protocol or combination of protocols.

Alternatively, or in addition, any of the functions described in thepreceding sections can be performed, at least in part, by one or morehardware logic components. For example, without limitation, thecomputing functionality 2002 can be implemented using one or more of:Field-programmable Gate Arrays (FPGAs); Application-specific IntegratedCircuits (ASICs); Application-specific Standard Products (ASSPs);System-on-a-chip systems (SOCs); Complex Programmable Logic Devices(CPLDs), etc.

In closing, the functionality described above can employ variousmechanisms to ensure the privacy of user data maintained by thefunctionality, in accordance with user expectations and applicable lawsof relevant jurisdictions. For example, the functionality can allow auser to expressly opt in to (and then expressly opt out of) theprovisions of the functionality. The functionality can also providesuitable security mechanisms to ensure the privacy of the user data(such as data-sanitizing mechanisms, encryption mechanisms,password-protection mechanisms, etc.).

Further, the description may have described various concepts in thecontext of illustrative challenges or problems. This manner ofexplanation does not constitute a representation that others haveappreciated and/or articulated the challenges or problems in the mannerspecified herein. Further, the claimed subject matter is not limited toimplementations that solve any or all of the noted challenges/problems.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed is:
 1. A method implemented by one or more computingdevices, the method comprising: accessing a data store that providesinformation regarding a group of recently presented items that have beenrecently presented in corresponding presentation modes including aparticular presentation mode; based at least on the information providedin the data store, presenting representations of several differentrecently presented items from the group with a particular presentationmode indicator that conveys that the several different recentlypresented items were recently presented in the particular presentationmode; receiving a selection of a selected representation, the selectedrepresentation being shown with the particular presentation modeindicator and identifying a selected recently presented item; providinga menu that identifies a set of possible presentation modes for theselected recently presented item, the set excluding one or more otherpresentation modes which cannot be used for the selected recentlypresented item; and causing output associated with the selected recentlypresented item to be displayed in another presentation mode selectedfrom the menu.
 2. The method of claim 1, the output being displayed in afirst instance and the another presentation mode being different thanthe particular presentation mode.
 3. The method of claim 2, furthercomprising: in a second instance, receiving a further selection of theselected representation; and responsive to the further selection,presenting the output associated with the selected recently presenteditem in the particular presentation mode by default without providingthe menu in response to the further selection.
 4. The method of claim 1,the providing the menu being performed responsive to the selection. 5.The method of claim 1, further comprising: selecting a new item, anoutput of which is presented in the particular presentation mode; andstoring, in the data store, information that conveys: (a) an indicationthat the new item was a most recent item that has been presented; and(b) an indication that the output of the new item was presented in theparticular presentation mode.
 6. The method of claim 5, wherein the datastore comprises a local data store and a remote data store.
 7. Themethod of claim 1, further comprising: receiving a request to visit ahomepage presentation, corresponding to a hub presentation from whichother presentations can be reached, wherein the representations areprovided as part of the homepage presentation.
 8. The method of claim 1,wherein the representations comprise respective tiles associated withrespective recently presented items.
 9. The method of claim 8, furthercomprising presenting a current item tile, which represents an item thatis currently being presented.
 10. The method of claim 9, wherein thecurrent item tile is larger than each of the respective tiles.
 11. Themethod of claim 1, the particular presentation mode comprising a snappresentation mode where different outputs associated with differentitems, including the output associated with the selected recentlypresented item, are presented in a secondary display region, thesecondary display region being less prominent than a primary displayregion, and the another presentation mode comprising a full presentationmode where the different outputs are presented in the primary displayregion, the method further comprising causing the output associated withthe selected recently presented item to be displayed in the particularpresentation mode by default unless a different presentation mode isselected via the menu.
 12. The method of claim 1, the anotherpresentation mode comprising a move-to-peripheral presentation modewhere different outputs associated with different items, including theoutput associated with the selected recently presented item, arepresented on a first output device when the move-to-peripheralpresentation mode is selected from the menu, the method furthercomprising presenting the different outputs by default in the particularpresentation mode on a second output device.
 13. The method of claim 1,the another presentation mode comprising a play-in-backgroundpresentation mode where different outputs associated with differentitems, including the output associated with the selected recentlypresented item, are presented as background content with respect toanother output of at least one other item, the method further comprisingpresenting the different outputs by default as foreground content in theparticular presentation mode.
 14. The method of claim 1, the selectedrecently presented item comprising an application.
 15. A computingdevice comprising: one or more processing devices; and one or morecomputer readable storage media storing computer readable instructionswhich, when executed by the one or more processing devices, cause theone or more processing devices to: present a visual output presentation,the visual output presentation comprising: a set of representationsassociated with applications that have been recently presented to a useron the computing device and on another computing device, including arepresentation of an individual application and another representationof another individual application; a visual presentation mode indicatorthat conveys a presentation mode in which the individual application wasrecently presented on the computing device; and another visualpresentation mode indicator that conveys another presentation mode inwhich the another individual application was recently presented on theanother computing device; receive a user selection of the anotherrepresentation of the another individual application from the visualoutput presentation; obtain code associated with the another individualapplication; obtain state information relating to a particular state inwhich the another individual application was recently executing on theanother computing device; and resume the another individual applicationon the computing device in the particular state.
 16. The computingdevice of claim 15, wherein the computer readable instructions, whenexecuted by the one or more processing devices, cause the one or moreprocessing devices to: present a prompt in association with the anotherrepresentation, the prompt offering an option to download the code andanother option to not download the code, the user selection identifyingthe option to download the code.
 17. The computing device of claim 16,wherein the another individual application is not stored on thecomputing device when the another visual presentation mode indicator isdisplayed on the computing device.
 18. The computing device of claim 15,wherein the computer readable instructions, when executed by the one ormore processing devices, cause the one or more processing devices to:receive an additional user selection of the representation of theindividual application from the visual output presentation; and inresponse to the additional user selection, present the individualapplication on the computing device in the presentation mode identifiedby the visual presentation mode indicator.
 19. A system comprising: oneor more processing devices; and one or more computer readable storagemedia storing computer readable instructions which, when executed by theone or more processing devices, cause the one or more processing devicesto: provide a split-screen presentation comprising a first item shownconcurrently with a second item; access a data store reflecting aparticular presentation mode in which a third item was previouslypresented in the split-screen presentation; present a visualrepresentation of the third item with a particular presentation modeindicator that conveys the particular presentation mode in which thethird item was previously presented, the particular presentation modespecifying where, in the split-screen presentation, the third item willbe presented by default upon being selected by a user; receive a userselection of the visual representation of the third item; and responsiveto the user selection of the visual representation of the third item,present the third item in the split-screen presentation by replacing thefirst item in the split-screen presentation with the third item andretaining the second item in the split-screen presentation, the thirditem being presented in the particular presentation mode.
 20. The systemof claim 19, wherein the split screen presentation is a side-by-sidepresentation and the particular presentation mode indicator specifieswhere, in the side-by-side presentation, the third item was recentlyshown to the user.
 21. The system of claim 20, wherein the second itemis presented in a fill mode occupying a prominent portion of theside-by-side presentation, the first item is presented in a snap modeoccupying a less prominent portion of the side-by-side presentation, andthe third item occupies the less prominent portion of the side-by-sidepresentation in the snap mode after replacing the first item.
 22. Thesystem of claim 21, wherein the first item, the second item, and thethird item are each different applications.